//对象转查询字符串
function objToSearchString(obj){
    var str  = ''
    for(var key in obj){
        str += `${key}=${obj[key]}&`;
    }
    return str.slice(0,str.length-1);
}

//封装ajax函数
function ajax( method, url, params ){
    //new一个Promise对象并返回
    return new Promise((resolve,reject)=>{
        //1.创建请求对象
        var xhr = new XMLHttpRequest()
        //2.配置请求对象
        xhr.open(method, method == 'get' ? url + "?" + objToSearchString(params) : url );
        //3.设置回调函数
        xhr.onreadystatechange = function(){
            if( xhr.readyState == 4 ){
                //cb( JSON.parse(xhr.responseText) )
                resolve( JSON.parse(xhr.responseText) );
                //resolve会更改Promise对象的状态为 成功, 同时会立即调用then的回调函数
            }
        }
        //4.发送请求
        //先对post请求设置 content-type 请求头
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
        xhr.send(  method == 'get' ? null : objToSearchString(params) );
    })
}


